export interface ICategoryRaw {
  id: string;
  name: string;
  parentId: string | null;
  defaultUnit: string | null;
  enable: boolean;
  remark: string | null;
}

// 定义前端渲染时使用的数据结构 (此接口无需修改，会自动继承)
export interface ICategoryRender extends ICategoryRaw {
  level: number;
  children?: ICategoryRender[];
}
// /type/index.ts
export interface ICategory {
  // 后端原始字段
  _id: string;
  name: string;
  parentId: string | number; // parentId可能为0或字符串ID
  defaultUnit: string;
  enable: boolean;
  children?: ICategory[];
  categoryRemark?: string; // 分类备注，后端似乎没有，先保留

  // 前端处理后添加/修改的字段
  categoryId: string; // 我们将用 _id 填充此字段，以保持组件兼容性
  unitPrice?: number; // 价格 (单位：元)
  priceId?: string; // 价格记录的ID，用于更新/删除
  priceRemark?: string; // 价格的备注

  // UI状态字段
  _level?: number;
  _expanded?: boolean;
}

export interface IAddress {
  _id: number;
  address: string; // e.g., 'XX大学'
  formatted_address: string; // e.g., '1号宿舍楼101室'
  alias: string; // '宿舍', '商户', '办公室'
  isDefault: boolean;
}
